This application is based on Japanese patent application No. 9-59603 filed on Mar. 13, 1997, the entire contents of which are incorporated herein by reference.
a) Field of the Invention
The present invention relates to data communications technologies, and more particularly to data communications technologies capable of transmitting data to a number of users under various communications conditions.
b) Description of the Related Art
As a standard specification for communications between electronic musical instruments, a music instrumental digital interface (MIDI) specification is known. Electronic musical instruments equipped with interfaces of the MIDI specification can communicate with each other by transferring MIDI data via a MIDI cable.
For example, an electronic musical instrument transmits MIDI data of a musical performance by a player, and another musical instrument receives it to reproduce it. As one electronic musical instrument is played, another electronic musical instrument can be played in real time.
In a communications network interconnecting a plurality of general computers, various types of data are transferred. For example, live musical tone data or other MIDI data can be transmitted from one computer, which once stored the data in its storage device such as a hard disk, via the communications network to another computer which stores the received data in its storage device. A general communications network is, however, configured to perform only general data communications, and is not configured to properly process MIDI data.
Specifically, although the MIDI specification allows the real time communications to be performed between electronic musical instruments, it is not suitable for long distance communications and communications via a number of nodes. The general communications network is essentially configured to provide services of long distance communications and multiple-node communications, but it does not take account of real time communications between electronic musical instruments.
Real time communications of musical information uses a large amount of information per unit time, and the traffic of the communications line becomes heavy. As compared to point-to-point communications, point-to-multipoint communications of musical tone data is more likely to make the traffic of communications lines heavy. The heavy traffic of communications lines generates a transmission delay and hinders a real time musical performance.
In general communications networks, any user can receive the same data from a server computer by accessing it.
The performance and storage capacity of each computer of a user are not always the same. If the performance of a user computer is low and the storage capacity thereof is small, a large amount of data may not be received. Even if data can be received, data storage or data processing may become difficult.
For example, even if MIDI data only can be processed, processing both MIDI data and image data may become difficult. A user having a high performance computer often requests a large amount of data, whereas a user having a low performance computer often requests a small amount of data. Unless a user notifies a server computer of its request, the server computer transmits the same amount of data to any user and there is some inconvenience on the user side.
Each user may request a different type of data. For example, some users require both MIDI data and image data, whereas other users require only MIDI data.
A data access fee may change with the type of data. For example, an access fee for both MIDI data and image data is expensive, whereas an access fee for MIDI data only is low. There is a user need of receiving desired data within an allowable amount of money.
Real time communications, communications between a number of users, or long distance communications uses a large amount of information per unit time, and the traffic of communications lines may become heavy. Congested traffic of communications lines causes a lowered communications speed and a difficulty in real time musical performance.
Different data is often requested by each user. However, a server computer transmits the same data to each user and it is difficult for a user to receive only the desired data.
It is an object of the present invention to provide communications technologies capable of alleviating a congested traffic of communications lines.
It is another object of the present invention to provide communications technologies capable of transmitting only desired data to each user.
According to one aspect of the present invention, there is provided a server computer comprising: means for receiving a user identifier transmitted from a user; and means for transmitting data to the user by changing the contents of the data in accordance with the user identifier received by the receiving means.
Since a user can be identified from the user identifier supplied from the user, data desired by the user can be transmitted.
According to another aspect of the present invention, there is provided a server system having a main proxy server and a mirror server, wherein the main proxy server comprises: means for acknowledging an access by a user; means for detecting the conditions of the main proxy server and the mirror server; means for judging, from the conditions of the main proxy server or the mirror server detected by the detecting means, whether data is to be transmitted to the user from the main proxy server or from the mirror proxy server; and means for transmitting data to the user.
For example, if the load of the main proxy server becomes heavy or the line conditions thereof become bad, data transmission to the user can be switched to the mirror server so that the congested traffic or a communications delay can be alleviated.
According to another aspect of the present invention, there is provided a server system having a main proxy server and a plurality of mirror servers, wherein the main proxy server comprises: means for acknowledging an access by a user; means for detecting the conditions of the main proxy server and the plurality of mirror server; and means for instructing one of the plurality of mirror servers to transmit data to the user, in accordance with the conditions of the plurality of mirror servers detected by the detecting means.